home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / u_man / cat3 / Tk / canvas.z / canvas
Encoding:
Text File  |  1998-10-30  |  107.0 KB  |  1,717 lines

  1.  
  2.  
  3.  
  4. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      canvas - Create and manipulate canvas widgets
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ccccaaaannnnvvvvaaaassss _p_a_t_h_N_a_m_e ?_o_p_t_i_o_n_s?
  13.  
  14. SSSSTTTTAAAANNNNDDDDAAAARRRRDDDD OOOOPPPPTTTTIIIIOOOONNNNSSSS
  15.      bbbbaaaacccckkkkggggrrrroooouuuunnnndddd          hhhhiiiigggghhhhlllliiiigggghhhhttttTTTThhhhiiiicccckkkknnnneeeessssssss  iiiinnnnsssseeeerrrrttttWWWWiiiiddddtttthhhhttttaaaakkkkeeeeFFFFooooccccuuuussss             |
  16.      bbbboooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh         iiiinnnnsssseeeerrrrttttBBBBaaaacccckkkkggggrrrroooouuuunnnndddd    rrrreeeelllliiiieeeeffffxxxxSSSSccccrrrroooollllllllCCCCoooommmmmmmmaaaannnndddd             |
  17.      ccccuuuurrrrssssoooorrrr              iiiinnnnsssseeeerrrrttttBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh   sssseeeelllleeeeccccttttBBBBaaaacccckkkkggggrrrroooouuuunnnnddddyyyySSSSccccrrrroooollllllllCCCCoooommmmmmmmaaaannnndddd   |
  18.      hhhhiiiigggghhhhlllliiiigggghhhhttttCCCCoooolllloooorrrr      iiiinnnnsssseeeerrrrttttOOOOffffffffTTTTiiiimmmmeeee       sssseeeelllleeeeccccttttBBBBoooorrrrddddeeeerrrrWWWWiiiiddddtttthhhh                |
  19.      hhhhiiiigggghhhhlllliiiigggghhhhttttBBBBaaaacccckkkkggggrrrroooouuuunnnndddd iiiinnnnsssseeeerrrrttttOOOOnnnnTTTTiiiimmmmeeee        sssseeeelllleeeeccccttttFFFFoooorrrreeeeggggrrrroooouuuunnnndddd
  20.  
  21.      See the ``options'' manual entry for details on the standard options.
  22.  
  23. WWWWIIIIDDDDGGGGEEEETTTT----SSSSPPPPEEEECCCCIIIIFFFFIIIICCCC OOOOPPPPTTTTIIIIOOOONNNNSSSS
  24.      Name:           cccclllloooosssseeeeEEEEnnnnoooouuuugggghhhh
  25.      Class:          CCCClllloooosssseeeeEEEEnnnnoooouuuugggghhhh
  26.      Command-Line Switch:----cccclllloooosssseeeeeeeennnnoooouuuugggghhhh
  27.  
  28.           Specifies a floating-point value indicating how close the mouse
  29.           cursor must be to an item before it is considered to be ``inside''
  30.           the item.  Defaults to 1.0.
  31.  
  32.      Name:           ccccoooonnnnffffiiiinnnneeee
  33.      Class:          CCCCoooonnnnffffiiiinnnneeee
  34.      Command-Line Switch:----ccccoooonnnnffffiiiinnnneeee
  35.  
  36.           Specifies a boolean value that indicates whether or not it should be
  37.           allowable to set the canvas's view outside the region defined by the
  38.           ssssccccrrrroooollllllllRRRReeeeggggiiiioooonnnn argument.  Defaults to true, which means that the view
  39.           will be constrained within the scroll region.
  40.  
  41.      Name:           hhhheeeeiiiigggghhhhtttt
  42.      Class:          HHHHeeeeiiiigggghhhhtttt
  43.      Command-Line Switch:----hhhheeeeiiiigggghhhhtttt
  44.  
  45.           Specifies a desired window height that the canvas widget should
  46.           request from its geometry manager.  The value may be specified in
  47.           any of the forms described in the COORDINATES section below.
  48.  
  49.      Name:           ssssccccrrrroooollllllllRRRReeeeggggiiiioooonnnn
  50.      Class:          SSSSccccrrrroooollllllllRRRReeeeggggiiiioooonnnn
  51.      Command-Line Switch:----ssssccccrrrroooollllllllrrrreeeeggggiiiioooonnnn
  52.  
  53.           Specifies a list with four coordinates describing the left, top,
  54.           right, and bottom coordinates of a rectangular region.  This region
  55.           is used for scrolling purposes and is considered to be the boundary
  56.           of the information in the canvas.  Each of the coordinates may be
  57.           specified in any of the forms given in the COORDINATES section
  58.           below.
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  71.  
  72.  
  73.  
  74.      Name:           wwwwiiiiddddtttthhhh
  75.      Class:          wwwwiiiiddddtttthhhh
  76.      Command-Line Switch:----wwwwiiiiddddtttthhhh
  77.  
  78.           Specifies a desired window width that the canvas widget should
  79.           request from its geometry manager.  The value may be specified in
  80.           any of the forms described in the COORDINATES section below.
  81.  
  82.      Name:           xxxxSSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt                                         |
  83.      Class:          SSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt                                          |
  84.      Command-Line Switch:----xxxxssssccccrrrroooolllllllliiiinnnnccccrrrreeeemmmmeeeennnntttt                                    |
  85.  
  86.           Specifies an increment for horizontal scrolling, in any of the usual
  87.           forms permitted for screen distances.  If the value of this option
  88.           is greater than zero, the horizontal view in the window will be
  89.           constrained so that the canvas x coordinate at the left edge of the
  90.           window is always an even multiple of xxxxSSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt;  furthermore,
  91.           the units for scrolling (e.g., the change in view when the left and
  92.           right arrows of a scrollbar are selected) will also be
  93.           xxxxSSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt.  If the value of this option is less than or equal
  94.           to zero, then horizontal scrolling is unconstrained.
  95.  
  96.      Name:           yyyySSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt                                         |
  97.      Class:          SSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt                                          |
  98.      Command-Line Switch:----yyyyssssccccrrrroooolllllllliiiinnnnccccrrrreeeemmmmeeeennnntttt                                    |
  99.  
  100.           Specifies an increment for vertical scrolling, in any of the usual
  101.           forms permitted for screen distances.  If the value of this option
  102.           is greater than zero, the vertical view in the window will be
  103.           constrained so that the canvas y coordinate at the top edge of the
  104.           window is always an even multiple of yyyySSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt;  furthermore,
  105.           the units for scrolling (e.g., the change in view when the top and
  106.           bottom arrows of a scrollbar are selected) will also be
  107.           yyyySSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt.  If the value of this option is less than or equal
  108.           to zero, then vertical scrolling is unconstrained.
  109.  
  110.  
  111. IIIINNNNTTTTRRRROOOODDDDUUUUCCCCTTTTIIIIOOOONNNN
  112.      The ccccaaaannnnvvvvaaaassss command creates a new window (given by the _p_a_t_h_N_a_m_e argument)
  113.      and makes it into a canvas widget.  Additional options, described above,
  114.      may be specified on the command line or in the option database to
  115.      configure aspects of the canvas such as its colors and 3-D relief.  The
  116.      ccccaaaannnnvvvvaaaassss command returns its _p_a_t_h_N_a_m_e argument.  At the time this command
  117.      is invoked, there must not exist a window named _p_a_t_h_N_a_m_e, but _p_a_t_h_N_a_m_e's
  118.      parent must exist.
  119.  
  120.      Canvas widgets implement structured graphics.  A canvas displays any
  121.      number of _i_t_e_m_s, which may be things like rectangles, circles, lines, and
  122.      text.  Items may be manipulated (e.g. moved or re-colored) and commands
  123.      may be associated with items in much the same way that the bbbbiiiinnnndddd command
  124.      allows commands to be bound to widgets.  For example, a particular
  125.      command may be associated with the <Button-1> event so that the command
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  137.  
  138.  
  139.  
  140.      is invoked whenever button 1 is pressed with the mouse cursor over an
  141.      item.  This means that items in a canvas can have behaviors defined by
  142.      the Tcl scripts bound to them.
  143.  
  144.  
  145. DDDDIIIISSSSPPPPLLLLAAAAYYYY LLLLIIIISSSSTTTT
  146.      The items in a canvas are ordered for purposes of display, with the first
  147.      item in the display list being displayed first, followed by the next item
  148.      in the list, and so on.  Items later in the display list obscure those
  149.      that are earlier in the display list and are sometimes referred to as
  150.      being ``on top'' of earlier items.  When a new item is created it is
  151.      placed at the end of the display list, on top of everything else.  Widget
  152.      commands may be used to re-arrange the order of the display list.
  153.  
  154.  
  155. IIIITTTTEEEEMMMM IIIIDDDDSSSS AAAANNNNDDDD TTTTAAAAGGGGSSSS
  156.      Items in a canvas widget may be named in either of two ways:  by id or by
  157.      tag.  Each item has a unique identifying number which is assigned to that
  158.      item when it is created.  The id of an item never changes and id numbers
  159.      are never re-used within the lifetime of a canvas widget.
  160.  
  161.      Each item may also have any number of _t_a_g_s associated with it.  A tag is
  162.      just a string of characters, and it may take any form except that of an
  163.      integer.  For example, ``x123'' is OK but ``123'' isn't.  The same tag
  164.      may be associated with many different items.  This is commonly done to
  165.      group items in various interesting ways;  for example, all selected items
  166.      might be given the tag ``selected''.
  167.  
  168.      The tag aaaallllllll is implicitly associated with every item in the canvas;  it
  169.      may be used to invoke operations on all the items in the canvas.
  170.  
  171.      The tag ccccuuuurrrrrrrreeeennnntttt is managed automatically by Tk; it applies to the _c_u_r_r_e_n_t
  172.      _i_t_e_m, which is the topmost item whose drawn area covers the position of
  173.      the mouse cursor.  If the mouse is not in the canvas widget or is not
  174.      over an item, then no item has the ccccuuuurrrrrrrreeeennnntttt tag.
  175.  
  176.      When specifying items in canvas widget commands, if the specifier is an
  177.      integer then it is assumed to refer to the single item with that id.  If
  178.      the specifier is not an integer, then it is assumed to refer to all of
  179.      the items in the canvas that have a tag matching the specifier.  The
  180.      symbol _t_a_g_O_r_I_d is used below to indicate that an argument specifies
  181.      either an id that selects a single item or a tag that selects zero or
  182.      more items.  Some widget commands only operate on a single item at a
  183.      time;  if _t_a_g_O_r_I_d is specified in a way that names multiple items, then
  184.      the normal behavior is for the command to use the first (lowest) of these
  185.      items in the display list that is suitable for the command.  Exceptions
  186.      are noted in the widget command descriptions below.
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  203.  
  204.  
  205.  
  206. COORDINATES
  207.      All coordinates related to canvases are stored as floating-point numbers.
  208.      Coordinates and distances are specified in screen units, which are
  209.      floating-point numbers optionally followed by one of several letters.  If
  210.      no letter is supplied then the distance is in pixels.  If the letter is mmmm
  211.      then the distance is in millimeters on the screen;  if it is cccc then the
  212.      distance is in centimeters; iiii means inches, and pppp means printers points
  213.      (1/72 inch).  Larger y-coordinates refer to points lower on the screen;
  214.      larger x-coordinates refer to points farther to the right.
  215.  
  216.  
  217. TTTTRRRRAAAANNNNSSSSFFFFOOOORRRRMMMMAAAATTTTIIIIOOOONNNNSSSS
  218.      Normally the origin of the canvas coordinate system is at the upper-left
  219.      corner of the window containing the canvas.  It is possible to adjust the
  220.      origin of the canvas coordinate system relative to the origin of the
  221.      window using the xxxxvvvviiiieeeewwww and yyyyvvvviiiieeeewwww widget commands;  this is typically used
  222.      for scrolling.  Canvases do not support scaling or rotation of the canvas
  223.      coordinate system relative to the window coordinate system.
  224.  
  225.      Indidividual items may be moved or scaled using widget commands described
  226.      below, but they may not be rotated.
  227.  
  228.  
  229. IIIINNNNDDDDIIIICCCCEEEESSSS
  230.      Text items support the notion of an _i_n_d_e_x for identifying particular
  231.      positions within the item.  Indices are used for commands such as
  232.      inserting text, deleting a range of characters, and setting the insertion
  233.      cursor position.  An index may be specified in any of a number of ways,
  234.      and different types of items may support different forms for specifying
  235.      indices.  Text items support the following forms for an index;  if you
  236.      define new types of text-like items, it would be advisable to support as
  237.      many of these forms as practical.  Note that it is possible to refer to
  238.      the character just after the last one in the text item;  this is
  239.      necessary for such tasks as inserting new text at the end of the item.
  240.  
  241.      _n_u_m_b_e_r    A decimal number giving the position of the desired character
  242.                within the text item.  0 refers to the first character, 1 to
  243.                the next character, and so on.  A number less than 0 is treated
  244.                as if it were zero, and a number greater than the length of the
  245.                text item is treated as if it were equal to the length of the
  246.                text item.
  247.  
  248.      eeeennnndddd       Refers to the character just after the last one in the item
  249.                (same as the number of characters in the item).
  250.  
  251.      iiiinnnnsssseeeerrrrtttt    Refers to the character just before which the insertion cursor
  252.                is drawn in this item.
  253.  
  254.      sssseeeellll....ffffiiiirrrrsssstttt Refers to the first selected character in the item.  If the
  255.                selection isn't in this item then this form is illegal.
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  269.  
  270.  
  271.  
  272.      sssseeeellll....llllaaaasssstttt  Refers to the last selected character in the item.  If the
  273.                selection isn't in this item then this form is illegal.
  274.  
  275.      @@@@_x,_y      Refers to the character at the point given by _x and _y, where _x
  276.                and _y are specified in the coordinate system of the canvas.  If
  277.                _x and _y lie outside the coordinates covered by the text item,
  278.                then they refer to the first or last character in the line that
  279.                is closest to the given point.
  280.  
  281.  
  282. WWWWIIIIDDDDGGGGEEEETTTT CCCCOOOOMMMMMMMMAAAANNNNDDDD
  283.      The ccccaaaannnnvvvvaaaassss command creates a new Tcl command whose name is _p_a_t_h_N_a_m_e.
  284.      This command may be used to invoke various operations on the widget.  It
  285.      has the following general form:
  286.  
  287.           _p_a_t_h_N_a_m_e _o_p_t_i_o_n ?_a_r_g _a_r_g ...?
  288.  
  289.      _O_p_t_i_o_n and the _a_r_gs determine the exact behavior of the command.  The
  290.      following widget commands are possible for canvas widgets:
  291.  
  292.      _p_a_t_h_N_a_m_e aaaaddddddddttttaaaagggg _t_a_g _s_e_a_r_c_h_S_p_e_c ?_a_r_g _a_r_g ...?
  293.           For each item that meets the constraints specified by _s_e_a_r_c_h_S_p_e_c and
  294.           the _a_r_gs, add _t_a_g to the list of tags associated with the item if it
  295.           isn't already present on that list.  It is possible that no items
  296.           will satisfy the constraints given by _s_e_a_r_c_h_S_p_e_c _a_n_d _a_r_gs, in which
  297.           case the command has no effect.  This command returns an empty
  298.           string as result.  _S_e_a_r_c_h_S_p_e_c and _a_r_g's may take any of the
  299.           following forms:
  300.  
  301.           aaaabbbboooovvvveeee _t_a_g_O_r_I_d
  302.                Selects the item just after (above) the one given by _t_a_g_O_r_I_d in
  303.                the display list.  If _t_a_g_O_r_I_d denotes more than one item, then
  304.                the last (topmost) of these items in the display list is used.
  305.  
  306.           aaaallllllll  Selects all the items in the canvas.
  307.  
  308.           bbbbeeeelllloooowwww _t_a_g_O_r_I_d
  309.                Selects the item just before (below) the one given by _t_a_g_O_r_I_d
  310.                in the display list.  If _t_a_g_O_r_I_d denotes more than one item,
  311.                then the first (lowest) of these items in the display list is
  312.                used.
  313.  
  314.           cccclllloooosssseeeesssstttt _x _y ?_h_a_l_o? ?_s_t_a_r_t?
  315.                Selects the item closest to the point given by _x and _y.  If
  316.                more than one item is at the same closest distance (e.g. two
  317.                items overlap the point), then the top-most of these items (the
  318.                last one in the display list) is used.  If _h_a_l_o is specified,
  319.                then it must be a non-negative value.  Any item closer than
  320.                _h_a_l_o to the point is considered to overlap it.  The _s_t_a_r_t
  321.                argument may be used to step circularly through all the closest
  322.                items.  If _s_t_a_r_t is specified, it names an item using a tag or
  323.                id (if by tag, it selects the first item in the display list
  324.  
  325.  
  326.  
  327.                                                                         PPPPaaaaggggeeee 5555
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  335.  
  336.  
  337.  
  338.                with the given tag).  Instead of selecting the topmost closest
  339.                item, this form will select the topmost closest item that is
  340.                below _s_t_a_r_t in the display list;  if no such item exists, then
  341.                the selection behaves as if the _s_t_a_r_t argument had not been
  342.                specified.
  343.  
  344.           eeeennnncccclllloooosssseeeedddd _x_1 _y_1 _x_2 _y_2
  345.                Selects all the items completely enclosed within the
  346.                rectangular region given by _x_1, _y_1, _x_2, and _y_2.  _X_1 must be no
  347.                greater then _x_2 and _y_1 must be no greater than _y_2.
  348.  
  349.           oooovvvveeeerrrrllllaaaappppppppiiiinnnngggg _x_1 _y_1 _x_2 _y_2
  350.                Selects all the items that overlap or are enclosed within the
  351.                rectangular region given by _x_1, _y_1, _x_2, and _y_2.  _X_1 must be no
  352.                greater then _x_2 and _y_1 must be no greater than _y_2.
  353.  
  354.           wwwwiiiitttthhhhttttaaaagggg _t_a_g_O_r_I_d
  355.                Selects all the items given by _t_a_g_O_r_I_d.
  356.  
  357.      _p_a_t_h_N_a_m_e bbbbbbbbooooxxxx _t_a_g_O_r_I_d ?_t_a_g_O_r_I_d _t_a_g_O_r_I_d ...?
  358.           Returns a list with four elements giving an approximate bounding box
  359.           for all the items named by the _t_a_g_O_r_I_d arguments.  The list has the
  360.           form ``_x_1 _y_1 _x_2 _y_2'' such that the drawn areas of all the named
  361.           elements are within the region bounded by _x_1 on the left, _x_2 on the
  362.           right, _y_1 on the top, and _y_2 on the bottom.  The return value may
  363.           overestimate the actual bounding box by a few pixels.  If no items
  364.           match any of the _t_a_g_O_r_I_d arguments then an empty string is returned.
  365.  
  366.      _p_a_t_h_N_a_m_e bbbbiiiinnnndddd _t_a_g_O_r_I_d ?_s_e_q_u_e_n_c_e? ?_c_o_m_m_a_n_d?
  367.           This command associates _c_o_m_m_a_n_d with all the items given by _t_a_g_O_r_I_d
  368.           such that whenever the event sequence given by _s_e_q_u_e_n_c_e occurs for
  369.           one of the items the command will be invoked.  This widget command
  370.           is similar to the bbbbiiiinnnndddd command except that it operates on items in a
  371.           canvas rather than entire widgets.  See the bbbbiiiinnnndddd manual entry for
  372.           complete details on the syntax of _s_e_q_u_e_n_c_e and the substitutions
  373.           performed on _c_o_m_m_a_n_d before invoking it.  If all arguments are
  374.           specified then a new binding is created, replacing any existing
  375.           binding for the same _s_e_q_u_e_n_c_e and _t_a_g_O_r_I_d (if the first character of
  376.           _c_o_m_m_a_n_d is ``+'' then _c_o_m_m_a_n_d augments an existing binding rather
  377.           than replacing it).  In this case the return value is an empty
  378.           string.  If _c_o_m_m_a_n_d is omitted then the command returns the _c_o_m_m_a_n_d
  379.           associated with _t_a_g_O_r_I_d and _s_e_q_u_e_n_c_e (an error occurs if there is no
  380.           such binding).  If both _c_o_m_m_a_n_d and _s_e_q_u_e_n_c_e are omitted then the
  381.           command returns a list of all the sequences for which bindings have
  382.           been defined for _t_a_g_O_r_I_d.
  383.  
  384.           The only events for which bindings may be specified are those
  385.           related to the mouse and keyboard, such as EEEEnnnntttteeeerrrr, LLLLeeeeaaaavvvveeee,
  386.           BBBBuuuuttttttttoooonnnnPPPPrrrreeeessssssss, MMMMoooottttiiiioooonnnn, and KKKKeeeeyyyyPPPPrrrreeeessssssss.  The handling of events in
  387.           canvases uses the current item defined in ITEM IDS AND TAGS above.
  388.           EEEEnnnntttteeeerrrr and LLLLeeeeaaaavvvveeee events trigger for an item when it becomes the
  389.           current item or ceases to be the current item;  note that these
  390.  
  391.  
  392.  
  393.                                                                         PPPPaaaaggggeeee 6666
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  401.  
  402.  
  403.  
  404.           events are different than EEEEnnnntttteeeerrrr and LLLLeeeeaaaavvvveeee events for windows.
  405.           Mouse-related events are directed to the current item, if any.
  406.           Keyboard-related events are directed to the focus item, if any (see
  407.           the ffffooooccccuuuussss widget command below for more on this).
  408.  
  409.           It is possible for multiple bindings to match a particular event.   |
  410.           This could occur, for example, if one binding is associated with the|
  411.           item's id and another is associated with one of the item's tags.    |
  412.           When this occurs, all of the matching bindings are invoked.  A      |
  413.           binding associated with the aaaallllllll tag is invoked first, followed by   |
  414.           one binding for each of the item's tags (in order), followed by a   |
  415.           binding associated with the item's id.  If there are multiple       |
  416.           matching bindings for a single tag, then only the most specific     |
  417.           binding is invoked.  A ccccoooonnnnttttiiiinnnnuuuueeee command in a binding script         |
  418.           terminates that script, and a bbbbrrrreeeeaaaakkkk command terminates that script  |
  419.           and skips any remaining scripts for the event, just as for the bbbbiiiinnnndddd |
  420.           command.                                                            |
  421.  
  422.           If bindings have been created for a canvas window using the bbbbiiiinnnndddd    |
  423.           command, then they are invoked in addition to bindings created for  |
  424.           the canvas's items using the bbbbiiiinnnndddd widget command.  The bindings for |
  425.           items will be invoked before any of the bindings for the window as a|
  426.           whole.
  427.  
  428.      _p_a_t_h_N_a_m_e ccccaaaannnnvvvvaaaassssxxxx _s_c_r_e_e_n_x ?_g_r_i_d_s_p_a_c_i_n_g?
  429.           Given a screen x-coordinate _s_c_r_e_e_n_x this command returns the canvas
  430.           x-coordinate that is displayed at that location.  If _g_r_i_d_s_p_a_c_i_n_g is
  431.           specified, then the canvas coordinate is rounded to the nearest
  432.           multiple of _g_r_i_d_s_p_a_c_i_n_g units.
  433.  
  434.      _p_a_t_h_N_a_m_e ccccaaaannnnvvvvaaaassssyyyy _s_c_r_e_e_n_y ?_g_r_i_d_s_p_a_c_i_n_g?
  435.           Given a screen y-coordinate _s_c_r_e_e_n_y this command returns the canvas
  436.           y-coordinate that is displayed at that location.  If _g_r_i_d_s_p_a_c_i_n_g is
  437.           specified, then the canvas coordinate is rounded to the nearest
  438.           multiple of _g_r_i_d_s_p_a_c_i_n_g units.
  439.  
  440.      _p_a_t_h_N_a_m_e ccccggggeeeetttt _o_p_t_i_o_n
  441.           Returns the current value of the configuration option given by      |
  442.           _o_p_t_i_o_n.  _O_p_t_i_o_n may have any of the values accepted by the ccccaaaannnnvvvvaaaassss   |
  443.           command.
  444.  
  445.      _p_a_t_h_N_a_m_e ccccoooonnnnffffiiiigggguuuurrrreeee ????_o_p_t_i_o_n? ?_v_a_l_u_e? ?_o_p_t_i_o_n _v_a_l_u_e ...?
  446.           Query or modify the configuration options of the widget.  If no
  447.           _o_p_t_i_o_n is specified, returns a list describing all of the available
  448.           options for _p_a_t_h_N_a_m_e (see TTTTkkkk____CCCCoooonnnnffffiiiigggguuuurrrreeeeIIIInnnnffffoooo for information on the
  449.           format of this list).  If _o_p_t_i_o_n is specified with no _v_a_l_u_e, then
  450.           the command returns a list describing the one named option (this
  451.           list will be identical to the corresponding sublist of the value
  452.           returned if no _o_p_t_i_o_n is specified).  If one or more _o_p_t_i_o_n-_v_a_l_u_e
  453.           pairs are specified, then the command modifies the given widget
  454.           option(s) to have the given value(s);  in this case the command
  455.           returns an empty string.  _O_p_t_i_o_n may have any of the values accepted
  456.  
  457.  
  458.  
  459.                                                                         PPPPaaaaggggeeee 7777
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  467.  
  468.  
  469.  
  470.           by the ccccaaaannnnvvvvaaaassss command.
  471.  
  472.      _p_a_t_h_N_a_m_e ccccoooooooorrrrddddssss _t_a_g_O_r_I_d ?_x_0 _y_0 ...?
  473.           Query or modify the coordinates that define an item.  If no
  474.           coordinates are specified, this command returns a list whose
  475.           elements are the coordinates of the item named by _t_a_g_O_r_I_d.  If
  476.           coordinates are specified, then they replace the current coordinates
  477.           for the named item.  If _t_a_g_O_r_I_d refers to multiple items, then the
  478.           first one in the display list is used.
  479.  
  480.      _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee _t_y_p_e _x _y ?_x _y ...? ?_o_p_t_i_o_n _v_a_l_u_e ...?
  481.           Create a new item in _p_a_t_h_N_a_m_e of type _t_y_p_e.  The exact format of the
  482.           arguments after ttttyyyyppppeeee depends on ttttyyyyppppeeee, but usually they consist of
  483.           the coordinates for one or more points, followed by specifications
  484.           for zero or more item options.  See the subsections on individual
  485.           item types below for more on the syntax of this command.  This
  486.           command returns the id for the new item.
  487.  
  488.      _p_a_t_h_N_a_m_e ddddcccchhhhaaaarrrrssss _t_a_g_O_r_I_d _f_i_r_s_t ?_l_a_s_t?
  489.           For each item given by _t_a_g_O_r_I_d, delete the characters in the range
  490.           given by _f_i_r_s_t and _l_a_s_t, inclusive.  If some of the items given by
  491.           _t_a_g_O_r_I_d don't support text operations, then they are ignored.  _F_i_r_s_t
  492.           and _l_a_s_t are indices of characters within the item(s) as described
  493.           in INDICES above.  If _l_a_s_t is omitted, it defaults to _f_i_r_s_t.  This
  494.           command returns an empty string.
  495.  
  496.      _p_a_t_h_N_a_m_e ddddeeeelllleeeetttteeee ?_t_a_g_O_r_I_d _t_a_g_O_r_I_d ...?
  497.           Delete each of the items given by each _t_a_g_O_r_I_d, and return an empty
  498.           string.
  499.  
  500.      _p_a_t_h_N_a_m_e ddddttttaaaagggg _t_a_g_O_r_I_d ?_t_a_g_T_o_D_e_l_e_t_e?
  501.           For each of the items given by _t_a_g_O_r_I_d, delete the tag given by
  502.           _t_a_g_T_o_D_e_l_e_t_e from the list of those associated with the item.  If an
  503.           item doesn't have the tag _t_a_g_T_o_D_e_l_e_t_e then the item is unaffected by
  504.           the command.  If _t_a_g_T_o_D_e_l_e_t_e is omitted then it defaults to _t_a_g_O_r_I_d.
  505.           This command returns an empty string.
  506.  
  507.      _p_a_t_h_N_a_m_e ffffiiiinnnndddd _s_e_a_r_c_h_C_o_m_m_a_n_d ?_a_r_g _a_r_g ...?
  508.           This command returns a list consisting of all the items that meet
  509.           the constraints specified by _s_e_a_r_c_h_C_o_m_m_a_n_d and _a_r_g's.  _S_e_a_r_c_h_C_o_m_m_a_n_d
  510.           and _a_r_g_s have any of the forms accepted by the aaaaddddddddttttaaaagggg command.
  511.  
  512.      _p_a_t_h_N_a_m_e ffffooooccccuuuussss ?_t_a_g_O_r_I_d?
  513.           Set the keyboard focus for the canvas widget to the item given by
  514.           _t_a_g_O_r_I_d.  If _t_a_g_O_r_I_d refers to several items, then the focus is set
  515.           to the first such item in the display list that supports the
  516.           insertion cursor.  If _t_a_g_O_r_I_d doesn't refer to any items, or if none
  517.           of them support the insertion cursor, then the focus isn't changed.
  518.           If _t_a_g_O_r_I_d is an empty string, then the focus item is reset so that
  519.           no item has the focus.  If _t_a_g_O_r_I_d is not specified then the command
  520.           returns the id for the item that currently has the focus, or an
  521.           empty string if no item has the focus.
  522.  
  523.  
  524.  
  525.                                                                         PPPPaaaaggggeeee 8888
  526.  
  527.  
  528.  
  529.  
  530.  
  531.  
  532. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  533.  
  534.  
  535.  
  536.           Once the focus has been set to an item, the item will display the
  537.           insertion cursor and all keyboard events will be directed to that
  538.           item.  The focus item within a canvas and the focus window on the
  539.           screen (set with the ffffooooccccuuuussss command) are totally independent:  a
  540.           given item doesn't actually have the input focus unless (a) its
  541.           canvas is the focus window and (b) the item is the focus item within
  542.           the canvas.  In most cases it is advisable to follow the ffffooooccccuuuussss
  543.           widget command with the ffffooooccccuuuussss command to set the focus window to the
  544.           canvas (if it wasn't there already).
  545.  
  546.      _p_a_t_h_N_a_m_e ggggeeeettttttttaaaaggggssss _t_a_g_O_r_I_d
  547.           Return a list whose elements are the tags associated with the item
  548.           given by _t_a_g_O_r_I_d.  If _t_a_g_O_r_I_d refers to more than one item, then the
  549.           tags are returned from the first such item in the display list.  If
  550.           _t_a_g_O_r_I_d doesn't refer to any items, or if the item contains no tags,
  551.           then an empty string is returned.
  552.  
  553.      _p_a_t_h_N_a_m_e iiiiccccuuuurrrrssssoooorrrr _t_a_g_O_r_I_d _i_n_d_e_x
  554.           Set the position of the insertion cursor for the item(s) given by
  555.           _t_a_g_O_r_I_d to just before the character whose position is given by
  556.           _i_n_d_e_x.  If some or all of the items given by _t_a_g_O_r_I_d don't support
  557.           an insertion cursor then this command has no effect on them.  See
  558.           INDICES above for a description of the legal forms for _i_n_d_e_x.  Note:
  559.           the insertion cursor is only displayed in an item if that item
  560.           currently has the keyboard focus (see the widget command ffffooooccccuuuussss,
  561.           below), but the cursor position may be set even when the item
  562.           doesn't have the focus.  This command returns an empty string.
  563.  
  564.      _p_a_t_h_N_a_m_e iiiinnnnddddeeeexxxx _t_a_g_O_r_I_d _i_n_d_e_x
  565.           This command returns a decimal string giving the numerical index
  566.           within _t_a_g_O_r_I_d corresponding to _i_n_d_e_x.  _I_n_d_e_x gives a textual
  567.           description of the desired position as described in INDICES above.
  568.           The return value is guaranteed to lie between 0 and the number of
  569.           characters within the item, inclusive.  If _t_a_g_O_r_I_d refers to
  570.           multiple items, then the index is processed in the first of these
  571.           items that supports indexing operations (in display list order).
  572.  
  573.      _p_a_t_h_N_a_m_e iiiinnnnsssseeeerrrrtttt _t_a_g_O_r_I_d _b_e_f_o_r_e_T_h_i_s _s_t_r_i_n_g
  574.           For each of the items given by _t_a_g_O_r_I_d, if the item supports text
  575.           insertion then _s_t_r_i_n_g is inserted into the item's text just before
  576.           the character whose index is _b_e_f_o_r_e_T_h_i_s.  See INDICES above for
  577.           information about the forms allowed for _b_e_f_o_r_e_T_h_i_s.  This command
  578.           returns an empty string.
  579.  
  580.      _p_a_t_h_N_a_m_e iiiitttteeeemmmmccccggggeeeetttt _t_a_g_O_r_I_d _o_p_t_i_o_n
  581.           Returns the current value of the configuration option for the item  |
  582.           given by _t_a_g_O_r_I_d whose name is _o_p_t_i_o_n.  This command is similar to  |
  583.           the ccccggggeeeetttt widget command except that it applies to a particular item |
  584.           rather than the widget as a whole.  _O_p_t_i_o_n may have any of the      |
  585.           values accepted by the ccccrrrreeeeaaaatttteeee widget command when the item was      |
  586.           created.  If _t_a_g_O_r_I_d is a tag that refers to more than one item, the|
  587.           first (lowest) such item is used.
  588.  
  589.  
  590.  
  591.                                                                         PPPPaaaaggggeeee 9999
  592.  
  593.  
  594.  
  595.  
  596.  
  597.  
  598. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  599.  
  600.  
  601.  
  602.      _p_a_t_h_N_a_m_e iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee _t_a_g_O_r_I_d ?_o_p_t_i_o_n? ?_v_a_l_u_e? ?_o_p_t_i_o_n _v_a_l_u_e ...?
  603.           This command is similar to the ccccoooonnnnffffiiiigggguuuurrrreeee widget command except that
  604.           it modifies item-specific options for the items given by _t_a_g_O_r_I_d
  605.           instead of modifying options for the overall canvas widget.  If no
  606.           _o_p_t_i_o_n is specified, returns a list describing all of the available
  607.           options for the first item given by _t_a_g_O_r_I_d (see TTTTkkkk____CCCCoooonnnnffffiiiigggguuuurrrreeeeIIIInnnnffffoooo
  608.           for information on the format of this list).  If _o_p_t_i_o_n is specified
  609.           with no _v_a_l_u_e, then the command returns a list describing the one
  610.           named option (this list will be identical to the corresponding
  611.           sublist of the value returned if no _o_p_t_i_o_n is specified).  If one or
  612.           more _o_p_t_i_o_n-_v_a_l_u_e pairs are specified, then the command modifies the
  613.           given widget option(s) to have the given value(s) in each of the
  614.           items given by _t_a_g_O_r_I_d;  in this case the command returns an empty
  615.           string.  The _o_p_t_i_o_ns and _v_a_l_u_es are the same as those permissible in
  616.           the ccccrrrreeeeaaaatttteeee widget command when the item(s) were created; see the
  617.           sections describing individual item types below for details on the
  618.           legal options.
  619.  
  620.      _p_a_t_h_N_a_m_e lllloooowwwweeeerrrr _t_a_g_O_r_I_d ?_b_e_l_o_w_T_h_i_s?
  621.           Move all of the items given by _t_a_g_O_r_I_d to a new position in the
  622.           display list just before the item given by _b_e_l_o_w_T_h_i_s.  If _t_a_g_O_r_I_d
  623.           refers to more than one item then all are moved but the relative
  624.           order of the moved items will not be changed.  _B_e_l_o_w_T_h_i_s is a tag or
  625.           id;  if it refers to more than one item then the first (lowest) of
  626.           these items in the display list is used as the destination location
  627.           for the moved items.  This command returns an empty string.
  628.  
  629.      _p_a_t_h_N_a_m_e mmmmoooovvvveeee _t_a_g_O_r_I_d _x_A_m_o_u_n_t _y_A_m_o_u_n_t
  630.           Move each of the items given by _t_a_g_O_r_I_d in the canvas coordinate
  631.           space by adding _x_A_m_o_u_n_t to the x-coordinate of each point associated
  632.           with the item and _y_A_m_o_u_n_t to the y-coordinate of each point
  633.           associated with the item.  This command returns an empty string.
  634.  
  635.      _p_a_t_h_N_a_m_e ppppoooossssttttssssccccrrrriiiipppptttt ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  636.           Generate a Postscript representation for part or all of the canvas.
  637.           If the ----ffffiiiilllleeee option is specified then the Postscript is written to a
  638.           file and an empty string is returned;  otherwise the Postscript is
  639.           returned as the result of the command.  The Postscript is created in
  640.           Encapsulated Postscript form using version 3.0 of the Document
  641.           Structuring Conventions.  The _o_p_t_i_o_n-_v_a_l_u_e argument pairs provide
  642.           additional information to control the generation of Postscript.  The
  643.           following options are supported:
  644.  
  645.           ----ccccoooolllloooorrrrmmmmaaaapppp _v_a_r_N_a_m_e
  646.                _V_a_r_N_a_m_e must be the name of an array variable that specifies a
  647.                color mapping to use in the Postscript.  Each element of
  648.                _v_a_r_N_a_m_e must consist of Postscript code to set a particular
  649.                color value (e.g. ``1111....0000 1111....0000 0000....0000 sssseeeettttrrrrggggbbbbccccoooolllloooorrrr'').  When
  650.                outputting color information in the Postscript, Tk checks to
  651.                see if there is an element of _v_a_r_N_a_m_e with the same name as the
  652.                color.  If so, Tk uses the value of the element as the
  653.                Postscript command to set the color.  If this option hasn't
  654.  
  655.  
  656.  
  657.                                                                        PPPPaaaaggggeeee 11110000
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  665.  
  666.  
  667.  
  668.                been specified, or if there isn't an entry in _v_a_r_N_a_m_e for a
  669.                given color, then Tk uses the red, green, and blue intensities
  670.                from the X color.
  671.  
  672.           ----ccccoooolllloooorrrrmmmmooooddddeeee _m_o_d_e
  673.                Specifies how to output color information.  _M_o_d_e must be either
  674.                ccccoooolllloooorrrr (for full color output), ggggrrrraaaayyyy (convert all colors to
  675.                their gray-scale equivalents) or mmmmoooonnnnoooo (convert all colors to
  676.                black or white).
  677.  
  678.           ----ffffiiiilllleeee _f_i_l_e_N_a_m_e
  679.                Specifies the name of the file in which to write the
  680.                Postscript.  If this option isn't specified then the Postscript
  681.                is returned as the result of the command instead of being
  682.                written to a file.
  683.  
  684.           ----ffffoooonnnnttttmmmmaaaapppp _v_a_r_N_a_m_e
  685.                _V_a_r_N_a_m_e must be the name of an array variable that specifies a
  686.                font mapping to use in the Postscript.  Each element of _v_a_r_N_a_m_e
  687.                must consist of a Tcl list with two elements, which are the
  688.                name and point size of a Postscript font.  When outputting
  689.                Postscript commands for a particular font, Tk checks to see if
  690.                _v_a_r_N_a_m_e contains an element with the same name as the font.  If
  691.                there is such an element, then the font information contained
  692.                in that element is used in the Postscript.  Otherwise Tk
  693.                attempts to guess what Postscript font to use.  Tk's guesses
  694.                generally only work for well-known fonts such as Times and
  695.                Helvetica and Courier, and only if the X font name does not
  696.                omit any dashes up through the point size.  For example,
  697.                ----****----CCCCoooouuuurrrriiiieeeerrrr----BBBBoooolllldddd----RRRR----NNNNoooorrrrmmmmaaaallll--------****----111122220000----**** will work but
  698.                ****CCCCoooouuuurrrriiiieeeerrrr----BBBBoooolllldddd----RRRR----NNNNoooorrrrmmmmaaaallll****111122220000**** will not;  Tk needs the dashes to
  699.                parse the font name).
  700.  
  701.           ----hhhheeeeiiiigggghhhhtttt _s_i_z_e
  702.                Specifies the height of the area of the canvas to print.
  703.                Defaults to the height of the canvas window.
  704.  
  705.           ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr _a_n_c_h_o_r
  706.                Specifies which point of the printed area should be appear over
  707.                the positioning point on the page (which is given by the ----ppppaaaaggggeeeexxxx
  708.                and ----ppppaaaaggggeeeeyyyy options).  For example, ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr nnnn means that the
  709.                top center of the printed area should be over the positioning
  710.                point.  Defaults to cccceeeennnntttteeeerrrr.
  711.  
  712.           ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt _s_i_z_e
  713.                Specifies that the Postscript should be scaled in both x and y
  714.                so that the printed area is _s_i_z_e high on the Postscript page.
  715.                _S_i_z_e consists of a floating-point number followed by cccc for
  716.                centimeters, iiii for inches, mmmm for millimeters, or pppp or nothing
  717.                for printer's points (1/72 inch).  Defaults to the height of
  718.                the printed area on the screen.  If both ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt and
  719.                ----ppppaaaaggggeeeewwwwiiiiddddtttthhhh are specified then the scale factor from the later
  720.  
  721.  
  722.  
  723.                                                                        PPPPaaaaggggeeee 11111111
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  731.  
  732.  
  733.  
  734.                option is used (non-uniform scaling is not implemented).
  735.  
  736.           ----ppppaaaaggggeeeewwwwiiiiddddtttthhhh _s_i_z_e
  737.                Specifies that the Postscript should be scaled in both x and y
  738.                so that the printed area is _s_i_z_e wide on the Postscript page.
  739.                _S_i_z_e has the same form as for ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt.  Defaults to the
  740.                width of the printed area on the screen.  If both ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt
  741.                and ----ppppaaaaggggeeeewwwwiiiiddddtttthhhh are specified then the scale factor from the
  742.                later option is used (non-uniform scaling is not implemented).
  743.  
  744.           ----ppppaaaaggggeeeexxxx _p_o_s_i_t_i_o_n
  745.                _P_o_s_i_t_i_o_n gives the x-coordinate of the positioning point on the
  746.                Postscript page, using any of the forms allowed for
  747.                ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt.  Used in conjunction with the ----ppppaaaaggggeeeeyyyy and
  748.                ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr options to determine where the printed area appears
  749.                on the Postscript page.  Defaults to the center of the page.
  750.  
  751.           ----ppppaaaaggggeeeeyyyy _p_o_s_i_t_i_o_n
  752.                _P_o_s_i_t_i_o_n gives the y-coordinate of the positioning point on the
  753.                Postscript page, using any of the forms allowed for
  754.                ----ppppaaaaggggeeeehhhheeeeiiiigggghhhhtttt.  Used in conjunction with the ----ppppaaaaggggeeeexxxx and
  755.                ----ppppaaaaggggeeeeaaaannnncccchhhhoooorrrr options to determine where the printed area appears
  756.                on the Postscript page.  Defaults to the center of the page.
  757.  
  758.           ----rrrroooottttaaaatttteeee _b_o_o_l_e_a_n
  759.                _B_o_o_l_e_a_n specifies whether the printed area is to be rotated 90
  760.                degrees.  In non-rotated output the x-axis of the printed area
  761.                runs along the short dimension of the page (``portrait''
  762.                orientation); in rotated output the x-axis runs along the long
  763.                dimension of the page (``landscape'' orientation).  Defaults to
  764.                non-rotated.
  765.  
  766.           ----wwwwiiiiddddtttthhhh _s_i_z_e
  767.                Specifies the width of the area of the canvas to print.
  768.                Defaults to the width of the canvas window.
  769.  
  770.           ----xxxx _p_o_s_i_t_i_o_n
  771.                Specifies the x-coordinate of the left edge of the area of the
  772.                canvas that is to be printed, in canvas coordinates, not window
  773.                coordinates.  Defaults to the coordinate of the left edge of
  774.                the window.
  775.  
  776.           ----yyyy _p_o_s_i_t_i_o_n
  777.                Specifies the y-coordinate of the top edge of the area of the
  778.                canvas that is to be printed, in canvas coordinates, not window
  779.                coordinates.  Defaults to the coordinate of the top edge of the
  780.                window.
  781.  
  782.      _p_a_t_h_N_a_m_e rrrraaaaiiiisssseeee _t_a_g_O_r_I_d ?_a_b_o_v_e_T_h_i_s?
  783.           Move all of the items given by _t_a_g_O_r_I_d to a new position in the
  784.           display list just after the item given by _a_b_o_v_e_T_h_i_s.  If _t_a_g_O_r_I_d
  785.           refers to more than one item then all are moved but the relative
  786.  
  787.  
  788.  
  789.                                                                        PPPPaaaaggggeeee 11112222
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  797.  
  798.  
  799.  
  800.           order of the moved items will not be changed.  _A_b_o_v_e_T_h_i_s is a tag or
  801.           id;  if it refers to more than one item then the last (topmost) of
  802.           these items in the display list is used as the destination location
  803.           for the moved items.  This command returns an empty string.
  804.  
  805.      _p_a_t_h_N_a_m_e ssssccccaaaalllleeee _t_a_g_O_r_I_d _x_O_r_i_g_i_n _y_O_r_i_g_i_n _x_S_c_a_l_e _y_S_c_a_l_e
  806.           Rescale all of the items given by _t_a_g_O_r_I_d in canvas coordinate
  807.           space.  _X_O_r_i_g_i_n and _y_O_r_i_g_i_n identify the origin for the scaling
  808.           operation and _x_S_c_a_l_e and _y_S_c_a_l_e identify the scale factors for x-
  809.           and y-coordinates, respectively (a scale factor of 1.0 implies no
  810.           change to that coordinate).  For each of the points defining each
  811.           item, the x-coordinate is adjusted to change the distance from
  812.           _x_O_r_i_g_i_n by a factor of _x_S_c_a_l_e.  Similarly, each y-coordinate is
  813.           adjusted to change the distance from _y_O_r_i_g_i_n by a factor of _y_S_c_a_l_e.
  814.           This command returns an empty string.
  815.  
  816.      _p_a_t_h_N_a_m_e ssssccccaaaannnn _o_p_t_i_o_n _a_r_g_s
  817.           This command is used to implement scanning on canvases.  It has two
  818.           forms, depending on _o_p_t_i_o_n:
  819.  
  820.           _p_a_t_h_N_a_m_e ssssccccaaaannnn mmmmaaaarrrrkkkk _x _y
  821.                Records _x and _y and the canvas's current view;  used in
  822.                conjunction with later ssssccccaaaannnn ddddrrrraaaaggggttttoooo commands.  Typically this
  823.                command is associated with a mouse button press in the widget
  824.                and _x and _y are the coordinates of the mouse.  It returns an
  825.                empty string.
  826.  
  827.           _p_a_t_h_N_a_m_e ssssccccaaaannnn ddddrrrraaaaggggttttoooo _x _y.
  828.                This command computes the difference between its _x and _y
  829.                arguments (which are typically mouse coordinates) and the _x and
  830.                _y arguments to the last ssssccccaaaannnn mmmmaaaarrrrkkkk command for the widget.  It
  831.                then adjusts the view by 10 times the difference in
  832.                coordinates.  This command is typically associated with mouse
  833.                motion events in the widget, to produce the effect of dragging
  834.                the canvas at high speed through its window.  The return value
  835.                is an empty string.
  836.  
  837.      _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt _o_p_t_i_o_n ?_t_a_g_O_r_I_d _a_r_g?
  838.           Manipulates the selection in one of several ways, depending on
  839.           _o_p_t_i_o_n.  The command may take any of the forms described below.  In
  840.           all of the descriptions below, _t_a_g_O_r_I_d must refer to an item that
  841.           supports indexing and selection;  if it refers to multiple items
  842.           then the first of these that supports indexing and the selection is
  843.           used.  _I_n_d_e_x gives a textual description of a position within
  844.           _t_a_g_O_r_I_d, as described in INDICES above.
  845.  
  846.           _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt aaaaddddjjjjuuuusssstttt _t_a_g_O_r_I_d _i_n_d_e_x
  847.                Locate the end of the selection in _t_a_g_O_r_I_d nearest to the
  848.                character given by _i_n_d_e_x, and adjust that end of the selection
  849.                to be at _i_n_d_e_x (i.e. including but not going beyond _i_n_d_e_x).
  850.                The other end of the selection is made the anchor point for
  851.                future sssseeeelllleeeecccctttt ttttoooo commands.  If the selection isn't currently in
  852.  
  853.  
  854.  
  855.                                                                        PPPPaaaaggggeeee 11113333
  856.  
  857.  
  858.  
  859.  
  860.  
  861.  
  862. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  863.  
  864.  
  865.  
  866.                _t_a_g_O_r_I_d then this command behaves the same as the sssseeeelllleeeecccctttt ttttoooo
  867.                widget command.  Returns an empty string.
  868.  
  869.           _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt cccclllleeeeaaaarrrr
  870.                Clear the selection if it is in this widget.  If the selection
  871.                isn't in this widget then the command has no effect.  Returns
  872.                an empty string.
  873.  
  874.           _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt ffffrrrroooommmm _t_a_g_O_r_I_d _i_n_d_e_x
  875.                Set the selection anchor point for the widget to be just before
  876.                the character given by _i_n_d_e_x in the item given by _t_a_g_O_r_I_d.
  877.                This command doesn't change the selection;  it just sets the
  878.                fixed end of the selection for future sssseeeelllleeeecccctttt ttttoooo commands.
  879.                Returns an empty string.
  880.  
  881.           _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt iiiitttteeeemmmm
  882.                Returns the id of the selected item, if the selection is in an
  883.                item in this canvas.  If the selection is not in this canvas
  884.                then an empty string is returned.
  885.  
  886.           _p_a_t_h_N_a_m_e sssseeeelllleeeecccctttt ttttoooo _t_a_g_O_r_I_d _i_n_d_e_x
  887.                Set the selection to consist of those characters of _t_a_g_O_r_I_d
  888.                between the selection anchor point and _i_n_d_e_x.  The new
  889.                selection will include the character given by _i_n_d_e_x; it will
  890.                include the character given by the anchor point only if _i_n_d_e_x
  891.                is greater than or equal to the anchor point.  The anchor point
  892.                is determined by the most recent sssseeeelllleeeecccctttt aaaaddddjjjjuuuusssstttt or sssseeeelllleeeecccctttt ffffrrrroooommmm
  893.                command for this widget.  If the selection anchor point for the
  894.                widget isn't currently in _t_a_g_O_r_I_d, then it is set to the same
  895.                character given by _i_n_d_e_x.  Returns an empty string.
  896.  
  897.      _p_a_t_h_N_a_m_e ttttyyyyppppeeee _t_a_g_O_r_I_d
  898.           Returns the type of the item given by _t_a_g_O_r_I_d, such as rrrreeeeccccttttaaaannnngggglllleeee or
  899.           tttteeeexxxxtttt.  If _t_a_g_O_r_I_d refers to more than one item, then the type of the
  900.           first item in the display list is returned.  If _t_a_g_O_r_I_d doesn't
  901.           refer to any items at all then an empty string is returned.
  902.  
  903.      _p_a_t_h_N_a_m_e xxxxvvvviiiieeeewwww  ?_a_r_g_s?
  904.           This command is used to query and change the horizontal position of |
  905.           the information displayed in the canvas's window.  It can take any  |
  906.           of the following forms:
  907.  
  908.           _p_a_t_h_N_a_m_e xxxxvvvviiiieeeewwww
  909.                Returns a list containing two elements.  Each element is a real|
  910.                fraction between 0 and 1;  together they describe the          |
  911.                horizontal span that is visible in the window.  For example, if|
  912.                the first element is .2 and the second element is .6, 20% of   |
  913.                the canvas's area (as defined by the ----ssssccccrrrroooollllllllrrrreeeeggggiiiioooonnnn option) is  |
  914.                off-screen to the left, the middle 40% is visible in the       |
  915.                window, and 40% of the canvas is off-screen to the right.      |
  916.                These are the same values passed to scrollbars via the         |
  917.                ----xxxxssssccccrrrroooollllllllccccoooommmmmmmmaaaannnndddd option.
  918.  
  919.  
  920.  
  921.                                                                        PPPPaaaaggggeeee 11114444
  922.  
  923.  
  924.  
  925.  
  926.  
  927.  
  928. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  929.  
  930.  
  931.  
  932.           _p_a_t_h_N_a_m_e xxxxvvvviiiieeeewwww mmmmoooovvvveeeettttoooo _f_r_a_c_t_i_o_n
  933.                Adjusts the view in the window so that _f_r_a_c_t_i_o_n of the total   |
  934.                width of the canvas is off-screen to the left.  _F_r_a_c_t_i_o_n must  |
  935.                be a fraction between 0 and 1.
  936.  
  937.           _p_a_t_h_N_a_m_e xxxxvvvviiiieeeewwww ssssccccrrrroooollllllll _n_u_m_b_e_r _w_h_a_t
  938.                This command shifts the view in the window left or right       |
  939.                according to _n_u_m_b_e_r and _w_h_a_t.  _N_u_m_b_e_r must be an integer.  _W_h_a_t|
  940.                must be either uuuunnnniiiittttssss or ppppaaaaggggeeeessss or an abbreviation of one of     |
  941.                these.  If _w_h_a_t is uuuunnnniiiittttssss, the view adjusts left or right in    |
  942.                units of the xxxxSSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt option, if it is greater than    |
  943.                zero, or in units of one-tenth the window's width otherwise.   |
  944.                If _w_h_a_t _i_s ppppaaaaggggeeeessss then the view adjusts in units of nine-tenths |
  945.                the window's width.  If _n_u_m_b_e_r is negative then information    |
  946.                farther to the left becomes visible;  if it is positive then   |
  947.                information farther to the right becomes visible.
  948.  
  949.      _p_a_t_h_N_a_m_e yyyyvvvviiiieeeewwww ?_a_r_g_s?
  950.           This command is used to query and change the vertical position of   |
  951.           the information displayed in the canvas's window.  It can take any  |
  952.           of the following forms:
  953.  
  954.           _p_a_t_h_N_a_m_e yyyyvvvviiiieeeewwww
  955.                Returns a list containing two elements.  Each element is a real|
  956.                fraction between 0 and 1;  together they describe the vertical |
  957.                span that is visible in the window.  For example, if the first |
  958.                element is .6 and the second element is 1.0, the lowest 40% of |
  959.                the canvas's area (as defined by the ----ssssccccrrrroooollllllllrrrreeeeggggiiiioooonnnn option) is  |
  960.                visible in the window.  These are the same values passed to    |
  961.                scrollbars via the ----yyyyssssccccrrrroooollllllllccccoooommmmmmmmaaaannnndddd option.
  962.  
  963.           _p_a_t_h_N_a_m_e yyyyvvvviiiieeeewwww mmmmoooovvvveeeettttoooo _f_r_a_c_t_i_o_n
  964.                Adjusts the view in the window so that _f_r_a_c_t_i_o_n of the canvas's|
  965.                area is off-screen to the top.  _F_r_a_c_t_i_o_n is a fraction between |
  966.                0 and 1.
  967.  
  968.           _p_a_t_h_N_a_m_e yyyyvvvviiiieeeewwww ssssccccrrrroooollllllll _n_u_m_b_e_r _w_h_a_t
  969.                This command adjusts the view in the window up or down         |
  970.                according to _n_u_m_b_e_r and _w_h_a_t.  _N_u_m_b_e_r must be an integer.  _W_h_a_t|
  971.                must be either uuuunnnniiiittttssss or ppppaaaaggggeeeessss.  If _w_h_a_t is uuuunnnniiiittttssss, the view     |
  972.                adjusts up or down in units of the yyyySSSSccccrrrroooollllllllIIIInnnnccccrrrreeeemmmmeeeennnntttt option, if |
  973.                it is greater than zero, or in units of one-tenth the window's |
  974.                height otherwise.  If _w_h_a_t is ppppaaaaggggeeeessss then the view adjusts in   |
  975.                units of nine-tenths the window's height.  If _n_u_m_b_e_r is        |
  976.                negative then higher information becomes visible;  if it is    |
  977.                positive then lower information becomes visible.               |
  978.  
  979.  
  980. OOOOVVVVEEEERRRRVVVVIIIIEEEEWWWW OOOOFFFF IIIITTTTEEEEMMMM TTTTYYYYPPPPEEEESSSS
  981.      The sections below describe the various types of items supported by
  982.      canvas widgets.  Each item type is characterized by two things:  first,
  983.      the form of the ccccrrrreeeeaaaatttteeee command used to create instances of the type;  and
  984.  
  985.  
  986.  
  987.                                                                        PPPPaaaaggggeeee 11115555
  988.  
  989.  
  990.  
  991.  
  992.  
  993.  
  994. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  995.  
  996.  
  997.  
  998.      second, a set of configuration options for items of that type, which may
  999.      be used in the ccccrrrreeeeaaaatttteeee and iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands.  Most items
  1000.      don't support indexing or selection or the commands related to them, such
  1001.      as iiiinnnnddddeeeexxxx and iiiinnnnsssseeeerrrrtttt.  Where items do support these facilities, it is
  1002.      noted explicitly in the descriptions below (at present, only text items
  1003.      provide this support).
  1004.  
  1005.  
  1006. AAAARRRRCCCC IIIITTTTEEEEMMMMSSSS
  1007.      Items of type aaaarrrrcccc appear on the display as arc-shaped regions.  An arc is
  1008.      a section of an oval delimited by two angles (specified by the ----ssssttttaaaarrrrtttt and
  1009.      ----eeeexxxxtttteeeennnntttt options) and displayed in one of several ways (specified by the
  1010.      ----ssssttttyyyylllleeee option).  Arcs are created with widget commands of the following
  1011.      form:
  1012.  
  1013.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee aaaarrrrcccc _x_1 _y_1 _x_2 _y_2 ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1014.  
  1015.      The arguments _x_1, _y_1, _x_2, and _y_2 give the coordinates of two diagonally
  1016.      opposite corners of a rectangular region enclosing the oval that defines
  1017.      the arc.  After the coordinates there may be any number of _o_p_t_i_o_n-_v_a_l_u_e
  1018.      pairs, each of which sets one of the configuration options for the item.
  1019.      These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget
  1020.      commands to change the item's configuration.  The following options are
  1021.      supported for arcs:
  1022.  
  1023.      ----eeeexxxxtttteeeennnntttt _d_e_g_r_e_e_s
  1024.           Specifies the size of the angular range occupied by the arc.  The
  1025.           arc's range extends for _d_e_g_r_e_e_s degrees counter-clockwise from the
  1026.           starting angle given by the ----ssssttttaaaarrrrtttt option.  _D_e_g_r_e_e_s may be negative.|
  1027.           If it is greater than 360 or less than -360, then _d_e_g_r_e_e_s modulo 360|
  1028.           is used as the extent.
  1029.  
  1030.      ----ffffiiiillllllll _c_o_l_o_r
  1031.           Fill the region of the arc with _c_o_l_o_r.  _C_o_l_o_r may have any of the
  1032.           forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is an empty string (the
  1033.           default), then then the arc will not be filled.
  1034.  
  1035.      ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r
  1036.           _C_o_l_o_r specifies a color to use for drawing the arc's outline;  it
  1037.           may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  This option
  1038.           defaults to bbbbllllaaaacccckkkk.  If _c_o_l_o_r is specified as an empty string then no
  1039.           outline is drawn for the arc.
  1040.  
  1041.      ----oooouuuuttttlllliiiinnnneeeessssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1042.           Indicates that the outline for the arc should be drawn with a       |
  1043.           stipple pattern; _b_i_t_m_a_p specifies the stipple pattern to use, in any|
  1044.           of the forms accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If the ----oooouuuuttttlllliiiinnnneeee option      |
  1045.           hasn't been specified then this option has no effect.  If _b_i_t_m_a_p is |
  1046.           an empty string (the default), then the outline is drawn in a solid |
  1047.           fashion.
  1048.  
  1049.  
  1050.  
  1051.  
  1052.  
  1053.                                                                        PPPPaaaaggggeeee 11116666
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.  
  1060. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1061.  
  1062.  
  1063.  
  1064.      ----ssssttttaaaarrrrtttt _d_e_g_r_e_e_s
  1065.           Specifies the beginning of the angular range occupied by the arc.
  1066.           _D_e_g_r_e_e_s is given in units of degrees measured counter-clockwise from
  1067.           the 3-o'clock position;  it may be either positive or negative.
  1068.  
  1069.      ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1070.           Indicates that the arc should be filled in a stipple pattern; _b_i_t_m_a_p
  1071.           specifies the stipple pattern to use, in any of the forms accepted
  1072.           by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If the ----ffffiiiillllllll option hasn't been specified then
  1073.           this option has no effect.  If _b_i_t_m_a_p is an empty string (the
  1074.           default), then filling is done in a solid fashion.
  1075.  
  1076.      ----ssssttttyyyylllleeee _t_y_p_e
  1077.           Specifies how to draw the arc.  If _t_y_p_e is ppppiiiieeeesssslllliiiicccceeee (the default)
  1078.           then the arc's region is defined by a section of the oval's
  1079.           perimeter plus two line segments, one between the center of the oval
  1080.           and each end of the perimeter section.  If _t_y_p_e is cccchhhhoooorrrrdddd then the
  1081.           arc's region is defined by a section of the oval's perimeter plus a
  1082.           single line segment connecting the two end points of the perimeter
  1083.           section.  If _t_y_p_e is aaaarrrrcccc then the arc's region consists of a section
  1084.           of the perimeter alone.  In this last case the ----ffffiiiillllllll option is      |
  1085.           ignored.
  1086.  
  1087.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1088.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1089.           list of tag names, which replace any existing tags for the item.
  1090.           _T_a_g_L_i_s_t may be an empty list.
  1091.  
  1092.      ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h
  1093.           Specifies the width of the outline to be drawn around the arc's
  1094.           region, in any of the forms described in the COORDINATES section
  1095.           above.  If the ----oooouuuuttttlllliiiinnnneeee option has been specified as an empty string
  1096.           then this option has no effect.  Wide outlines will be drawn
  1097.           centered on the edges of the arc's region.  This option defaults to
  1098.           1.0.
  1099.  
  1100.  
  1101. BBBBIIIITTTTMMMMAAAAPPPP IIIITTTTEEEEMMMMSSSS
  1102.      Items of type bbbbiiiittttmmmmaaaapppp appear on the display as images with two colors,
  1103.      foreground and background.  Bitmaps are created with widget commands of
  1104.      the following form:
  1105.  
  1106.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee bbbbiiiittttmmmmaaaapppp _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1107.  
  1108.      The arguments _x and _y specify the coordinates of a point used to position
  1109.      the bitmap on the display (see the ----aaaannnncccchhhhoooorrrr option below for more
  1110.      information on how bitmaps are displayed).  After the coordinates there
  1111.      may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of the
  1112.      configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be
  1113.      used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change the item's configuration.
  1114.      The following options are supported for bitmaps:
  1115.  
  1116.  
  1117.  
  1118.  
  1119.                                                                        PPPPaaaaggggeeee 11117777
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.  
  1126. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1127.  
  1128.  
  1129.  
  1130.      ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s
  1131.           _A_n_c_h_o_r_P_o_s tells how to position the bitmap relative to the
  1132.           positioning point for the item;  it may have any of the forms
  1133.           accepted by TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.  For example, if _a_n_c_h_o_r_P_o_s is cccceeeennnntttteeeerrrr then
  1134.           the bitmap is centered on the point;  if _a_n_c_h_o_r_P_o_s is nnnn then the
  1135.           bitmap will be drawn so that its top center point is at the
  1136.           positioning point.  This option defaults to cccceeeennnntttteeeerrrr.
  1137.  
  1138.      ----bbbbaaaacccckkkkggggrrrroooouuuunnnndddd _c_o_l_o_r
  1139.           Specifies a color to use for each of the bitmap pixels whose value
  1140.           is 0.  _C_o_l_o_r may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If
  1141.           this option isn't specified, or if it is specified as an empty      |
  1142.           string, then nothing is displayed where the bitmap pixels are 0;    |
  1143.           this produces a transparent effect.
  1144.  
  1145.      ----bbbbiiiittttmmmmaaaapppp _b_i_t_m_a_p
  1146.           Specifies the bitmap to display in the item.  _B_i_t_m_a_p may have any of
  1147.           the forms accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.
  1148.  
  1149.      ----ffffoooorrrreeeeggggrrrroooouuuunnnndddd _c_o_l_o_r
  1150.           Specifies a color to use for each of the bitmap pixels whose value
  1151.           is 1.  _C_o_l_o_r may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr and
  1152.           defaults to bbbbllllaaaacccckkkk.
  1153.  
  1154.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1155.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1156.           list of tag names, which replace any existing tags for the item.
  1157.           _T_a_g_L_i_s_t may be an empty list.
  1158.  
  1159.  
  1160. IIIIMMMMAAAAGGGGEEEE IIIITTTTEEEEMMMMSSSS
  1161.      Items of type iiiimmmmaaaaggggeeee are used to display images on a canvas.  Images are  |
  1162.      created with widget commands of the following form:                      |
  1163.  
  1164.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee iiiimmmmaaaaggggeeee _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?           |
  1165.  
  1166.      The arguments _x and _y specify the coordinates of a point used to position|
  1167.      the image on the display (see the ----aaaannnncccchhhhoooorrrr option below for more          |
  1168.      information).  After the coordinates there may be any number of          |
  1169.      _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of the configuration options  |
  1170.      for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee|
  1171.      widget commands to change the item's configuration.  The following       |
  1172.      options are supported for images:
  1173.  
  1174.      ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s
  1175.           _A_n_c_h_o_r_P_o_s tells how to position the image relative to the           |
  1176.           positioning point for the item;  it may have any of the forms       |
  1177.           accepted by TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.  For example, if _a_n_c_h_o_r_P_o_s is cccceeeennnntttteeeerrrr then |
  1178.           the image is centered on the point;  if _a_n_c_h_o_r_P_o_s is nnnn then the     |
  1179.           image will be drawn so that its top center point is at the          |
  1180.           positioning point.  This option defaults to cccceeeennnntttteeeerrrr.
  1181.  
  1182.  
  1183.  
  1184.  
  1185.                                                                        PPPPaaaaggggeeee 11118888
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.  
  1192. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1193.  
  1194.  
  1195.  
  1196.      ----iiiimmmmaaaaggggeeee _n_a_m_e
  1197.           Specifies the name of the image to display in the item.  This image |
  1198.           must have been created previously with the iiiimmmmaaaaggggeeee ccccrrrreeeeaaaatttteeee command.
  1199.  
  1200.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1201.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a|
  1202.           list of tag names, which replace any existing tags for the item;  it|
  1203.           may be an empty list.
  1204.  
  1205.  
  1206. LLLLIIIINNNNEEEE IIIITTTTEEEEMMMMSSSS
  1207.      Items of type lllliiiinnnneeee appear on the display as one or more connected line
  1208.      segments or curves.  Lines are created with widget commands of the
  1209.      following form:
  1210.  
  1211.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee lllliiiinnnneeee _x_1 _y_1... _x_n _y_n ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1212.  
  1213.      The arguments _x_1 through _y_n give the coordinates for a series of two or
  1214.      more points that describe a series of connected line segments.  After the
  1215.      coordinates there may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which
  1216.      sets one of the configuration options for the item.  These same
  1217.      _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change
  1218.      the item's configuration.  The following options are supported for lines:
  1219.  
  1220.      ----aaaarrrrrrrroooowwww _w_h_e_r_e
  1221.           Indicates whether or not arrowheads are to be drawn at one or both
  1222.           ends of the line.  _W_h_e_r_e must have one of the values nnnnoooonnnneeee (for no
  1223.           arrowheads), ffffiiiirrrrsssstttt (for an arrowhead at the first point of the
  1224.           line), llllaaaasssstttt (for an arrowhead at the last point of the line), or
  1225.           bbbbooootttthhhh (for arrowheads at both ends).  This option defaults to nnnnoooonnnneeee.
  1226.  
  1227.      ----aaaarrrrrrrroooowwwwsssshhhhaaaappppeeee _s_h_a_p_e
  1228.           This option indicates how to draw arrowheads.  The _s_h_a_p_e argument
  1229.           must be a list with three elements, each specifying a distance in
  1230.           any of the forms described in the COORDINATES section above.  The
  1231.           first element of the list gives the distance along the line from the
  1232.           neck of the arrowhead to its tip.  The second element gives the
  1233.           distance along the line from the trailing points of the arrowhead to
  1234.           the tip, and the third element gives the distance from the outside
  1235.           edge of the line to the trailing points.  If this option isn't
  1236.           specified then Tk picks a ``reasonable'' shape.
  1237.  
  1238.      ----ccccaaaappppssssttttyyyylllleeee _s_t_y_l_e
  1239.           Specifies the ways in which caps are to be drawn at the endpoints of
  1240.           the line.  _S_t_y_l_e may have any of the forms accepted by
  1241.           TTTTkkkk____GGGGeeeettttCCCCaaaappppSSSSttttyyyylllleeee (bbbbuuuutttttttt, pppprrrroooojjjjeeeeccccttttiiiinnnngggg, or rrrroooouuuunnnndddd).  If this option isn't
  1242.           specified then it defaults to bbbbuuuutttttttt.  Where arrowheads are drawn the
  1243.           cap style is ignored.
  1244.  
  1245.      ----ffffiiiillllllll _c_o_l_o_r
  1246.           _C_o_l_o_r specifies a color to use for drawing the line; it may have any
  1247.           of the forms acceptable to TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  It may also be an empty
  1248.  
  1249.  
  1250.  
  1251.                                                                        PPPPaaaaggggeeee 11119999
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.  
  1258. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1259.  
  1260.  
  1261.  
  1262.           string, in which case the line will be transparent.  This option
  1263.           defaults to bbbbllllaaaacccckkkk.
  1264.  
  1265.      ----jjjjooooiiiinnnnssssttttyyyylllleeee _s_t_y_l_e
  1266.           Specifies the ways in which joints are to be drawn at the vertices
  1267.           of the line.  _S_t_y_l_e may have any of the forms accepted by
  1268.           TTTTkkkk____GGGGeeeettttCCCCaaaappppSSSSttttyyyylllleeee (bbbbeeeevvvveeeellll, mmmmiiiitttteeeerrrr, or rrrroooouuuunnnndddd).  If this option isn't
  1269.           specified then it defaults to mmmmiiiitttteeeerrrr.  If the line only contains two
  1270.           points then this option is irrelevant.
  1271.  
  1272.      ----ssssmmmmooooooootttthhhh _b_o_o_l_e_a_n
  1273.           _B_o_o_l_e_a_n must have one of the forms accepted by TTTTkkkk____GGGGeeeettttBBBBoooooooolllleeeeaaaannnn.  It
  1274.           indicates whether or not the line should be drawn as a curve.  If
  1275.           so, the line is rendered as a set of Bezier splines: one spline is
  1276.           drawn for the first and second line segments, one for the second and
  1277.           third, and so on.  Straight-line segments can be generated within a
  1278.           curve by duplicating the end-points of the desired line segment.
  1279.  
  1280.      ----sssspppplllliiiinnnneeeesssstttteeeeppppssss _n_u_m_b_e_r
  1281.           Specifies the degree of smoothness desired for curves:  each spline
  1282.           will be approximated with _n_u_m_b_e_r line segments.  This option is
  1283.           ignored unless the ----ssssmmmmooooooootttthhhh option is true.
  1284.  
  1285.      ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1286.           Indicates that the line should be filled in a stipple pattern;
  1287.           _b_i_t_m_a_p specifies the stipple pattern to use, in any of the forms
  1288.           accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If _b_i_t_m_a_p is an empty string (the
  1289.           default), then filling is done in a solid fashion.
  1290.  
  1291.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1292.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1293.           list of tag names, which replace any existing tags for the item.
  1294.           _T_a_g_L_i_s_t may be an empty list.
  1295.  
  1296.      ----wwwwiiiiddddtttthhhh _l_i_n_e_W_i_d_t_h
  1297.           _L_i_n_e_W_i_d_t_h specifies the width of the line, in any of the forms
  1298.           described in the COORDINATES section above.  Wide lines will be
  1299.           drawn centered on the path specified by the points.  If this option
  1300.           isn't specified then it defaults to 1.0.
  1301.  
  1302.  
  1303. OOOOVVVVAAAALLLL IIIITTTTEEEEMMMMSSSS
  1304.      Items of type oooovvvvaaaallll appear as circular or oval regions on the display.
  1305.      Each oval may have an outline, a fill, or both.  Ovals are created with
  1306.      widget commands of the following form:
  1307.  
  1308.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee oooovvvvaaaallll _x_1 _y_1 _x_2 _y_2 ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1309.  
  1310.      The arguments _x_1, _y_1, _x_2, and _y_2 give the coordinates of two diagonally
  1311.      opposite corners of a rectangular region enclosing the oval.  The oval
  1312.      will include the top and left edges of the rectangle not the lower or
  1313.      right edges.  If the region is square then the resulting oval is
  1314.  
  1315.  
  1316.  
  1317.                                                                        PPPPaaaaggggeeee 22220000
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.  
  1324. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1325.  
  1326.  
  1327.  
  1328.      circular; otherwise it is elongated in shape.  After the coordinates
  1329.      there may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of
  1330.      the configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs
  1331.      may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change the item's
  1332.      configuration.  The following options are supported for ovals:
  1333.  
  1334.      ----ffffiiiillllllll _c_o_l_o_r
  1335.           Fill the area of the oval with _c_o_l_o_r.  _C_o_l_o_r may have any of the
  1336.           forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is an empty string (the
  1337.           default), then then the oval will not be filled.
  1338.  
  1339.      ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r
  1340.           _C_o_l_o_r specifies a color to use for drawing the oval's outline;  it
  1341.           may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  This option
  1342.           defaults to bbbbllllaaaacccckkkk.  If _c_o_l_o_r is an empty string then no outline will
  1343.           be drawn for the oval.
  1344.  
  1345.      ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1346.           Indicates that the oval should be filled in a stipple pattern;
  1347.           _b_i_t_m_a_p specifies the stipple pattern to use, in any of the forms
  1348.           accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If the ----ffffiiiillllllll option hasn't been specified
  1349.           then this option has no effect.  If _b_i_t_m_a_p is an empty string (the
  1350.           default), then filling is done in a solid fashion.
  1351.  
  1352.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1353.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1354.           list of tag names, which replace any existing tags for the item.
  1355.           _T_a_g_L_i_s_t may be an empty list.
  1356.  
  1357.      ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h
  1358.           _o_u_t_l_i_n_e_W_i_d_t_h specifies the width of the outline to be drawn around
  1359.           the oval, in any of the forms described in the COORDINATES section
  1360.           above.  If the ----oooouuuuttttlllliiiinnnneeee option hasn't been specified then this
  1361.           option has no effect.  Wide outlines are drawn centered on the oval
  1362.           path defined by _x_1, _y_1, _x_2, and _y_2.  This option defaults to 1.0.
  1363.  
  1364.  
  1365. PPPPOOOOLLLLYYYYGGGGOOOONNNN IIIITTTTEEEEMMMMSSSS
  1366.      Items of type ppppoooollllyyyyggggoooonnnn appear as polygonal or curved filled regions on the
  1367.      display.  Polygons are created with widget commands of the following
  1368.      form:
  1369.  
  1370.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee ppppoooollllyyyyggggoooonnnn _x_1 _y_1 ... _x_n _y_n ?_o_p_t_i_o_n _v_a_l_u_e ...?
  1371.  
  1372.      The arguments _x_1 through _y_n specify the coordinates for three or more
  1373.      points that define a closed polygon.  The first and last points may be
  1374.      the same;  whether they are or not, Tk will draw the polygon as a closed
  1375.      polygon.  After the coordinates there may be any number of _o_p_t_i_o_n-_v_a_l_u_e
  1376.      pairs, each of which sets one of the configuration options for the item.
  1377.      These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget
  1378.      commands to change the item's configuration.  The following options are
  1379.      supported for polygons:
  1380.  
  1381.  
  1382.  
  1383.                                                                        PPPPaaaaggggeeee 22221111
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.  
  1390. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1391.  
  1392.  
  1393.  
  1394.      ----ffffiiiillllllll _c_o_l_o_r
  1395.           _C_o_l_o_r specifies a color to use for filling the area of the polygon;
  1396.           it may have any of the forms acceptable to TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is
  1397.           an empty string then the polygon will be transparent.  This option
  1398.           defaults to bbbbllllaaaacccckkkk.
  1399.  
  1400.      ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r
  1401.           _C_o_l_o_r specifies a color to use for drawing the polygon's outline;   |
  1402.           it may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is  |
  1403.           an empty string then no outline will be drawn for the polygon.  This|
  1404.           option defaults to empty (no outline).
  1405.  
  1406.      ----ssssmmmmooooooootttthhhh _b_o_o_l_e_a_n
  1407.           _B_o_o_l_e_a_n must have one of the forms accepted by TTTTkkkk____GGGGeeeettttBBBBoooooooolllleeeeaaaannnn It
  1408.           indicates whether or not the polygon should be drawn with a curved
  1409.           perimeter.  If so, the outline of the polygon becomes a set of
  1410.           Bezier splines, one spline for the first and second line segments,
  1411.           one for the second and third, and so on.  Straight-line segments can
  1412.           be generated in a smoothed polygon by duplicating the end-points of
  1413.           the desired line segment.
  1414.  
  1415.      ----sssspppplllliiiinnnneeeesssstttteeeeppppssss _n_u_m_b_e_r
  1416.           Specifies the degree of smoothness desired for curves:  each spline
  1417.           will be approximated with _n_u_m_b_e_r line segments.  This option is
  1418.           ignored unless the ----ssssmmmmooooooootttthhhh option is true.
  1419.  
  1420.      ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1421.           Indicates that the polygon should be filled in a stipple pattern;
  1422.           _b_i_t_m_a_p specifies the stipple pattern to use, in any of the forms
  1423.           accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If _b_i_t_m_a_p is an empty string (the
  1424.           default), then filling is done in a solid fashion.
  1425.  
  1426.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1427.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1428.           list of tag names, which replace any existing tags for the item.
  1429.           _T_a_g_L_i_s_t may be an empty list.
  1430.  
  1431.      ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h
  1432.           _O_u_t_l_i_n_e_W_i_d_t_h specifies the width of the outline to be drawn around  |
  1433.           the polygon, in any of the forms described in the COORDINATES       |
  1434.           section above.  If the ----oooouuuuttttlllliiiinnnneeee option hasn't been specified then   |
  1435.           this option has no effect.  This option defaults to 1.0.            |
  1436.  
  1437.      Polygon items are different from other items such as rectangles, ovals   |
  1438.      and arcs in that interior points are considered to be ``inside'' a       |
  1439.      polygon even if it is not filled.  For most other item types, an interior|
  1440.      point is considered to be inside the item only if the item is filled or  |
  1441.      if it has neither a fill nor an outline.  If you would like an unfilled  |
  1442.      polygon whose interior points are not considered to be inside the        |
  1443.      polygon, use a line item instead.
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.                                                                        PPPPaaaaggggeeee 22222222
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1457.  
  1458.  
  1459.  
  1460. RRRREEEECCCCTTTTAAAANNNNGGGGLLLLEEEE IIIITTTTEEEEMMMMSSSS
  1461.      Items of type rrrreeeeccccttttaaaannnngggglllleeee appear as rectangular regions on the display.
  1462.      Each rectangle may have an outline, a fill, or both.  Rectangles are
  1463.      created with widget commands of the following form:
  1464.  
  1465.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee rrrreeeeccccttttaaaannnngggglllleeee _x_1 _y_1 _x_2 _y_2 ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1466.  
  1467.      The arguments _x_1, _y_1, _x_2, and _y_2 give the coordinates of two diagonally
  1468.      opposite corners of the rectangle (the rectangle will include its upper
  1469.      and left edges but not its lower or right edges).  After the coordinates
  1470.      there may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of
  1471.      the configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs
  1472.      may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change the item's
  1473.      configuration.  The following options are supported for rectangles:
  1474.  
  1475.      ----ffffiiiillllllll _c_o_l_o_r
  1476.           Fill the area of the rectangle with _c_o_l_o_r, which may be specified in
  1477.           any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If _c_o_l_o_r is an empty
  1478.           string (the default), then the rectangle will not be filled.
  1479.  
  1480.      ----oooouuuuttttlllliiiinnnneeee _c_o_l_o_r
  1481.           Draw an outline around the edge of the rectangle in _c_o_l_o_r.  _C_o_l_o_r
  1482.           may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  This option
  1483.           defaults to bbbbllllaaaacccckkkk.  If _c_o_l_o_r is an empty string then no outline will
  1484.           be drawn for the rectangle.
  1485.  
  1486.      ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1487.           Indicates that the rectangle should be filled in a stipple pattern;
  1488.           _b_i_t_m_a_p specifies the stipple pattern to use, in any of the forms
  1489.           accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If the ----ffffiiiillllllll option hasn't been specified
  1490.           then this option has no effect.  If _b_i_t_m_a_p is an empty string (the
  1491.           default), then filling is done in a solid fashion.
  1492.  
  1493.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1494.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1495.           list of tag names, which replace any existing tags for the item.
  1496.           _T_a_g_L_i_s_t may be an empty list.
  1497.  
  1498.      ----wwwwiiiiddddtttthhhh _o_u_t_l_i_n_e_W_i_d_t_h
  1499.           _O_u_t_l_i_n_e_W_i_d_t_h specifies the width of the outline to be drawn around
  1500.           the rectangle, in any of the forms described in the COORDINATES
  1501.           section above.  If the ----oooouuuuttttlllliiiinnnneeee option hasn't been specified then
  1502.           this option has no effect.  Wide outlines are drawn centered on the
  1503.           rectangular path defined by _x_1, _y_1, _x_2, and _y_2.  This option
  1504.           defaults to 1.0.
  1505.  
  1506.  
  1507. TTTTEEEEXXXXTTTT IIIITTTTEEEEMMMMSSSS
  1508.      A text item displays a string of characters on the screen in one or more
  1509.      lines.  Text items support indexing and selection, along with the
  1510.      following text-related canvas widget commands:  ddddcccchhhhaaaarrrrssss, ffffooooccccuuuussss, iiiiccccuuuurrrrssssoooorrrr,
  1511.      iiiinnnnddddeeeexxxx, iiiinnnnsssseeeerrrrtttt, sssseeeelllleeeecccctttt.  Text items are created with widget commands of
  1512.  
  1513.  
  1514.  
  1515.                                                                        PPPPaaaaggggeeee 22223333
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.  
  1522. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1523.  
  1524.  
  1525.  
  1526.      the following form:
  1527.  
  1528.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee tttteeeexxxxtttt _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1529.  
  1530.      The arguments _x and _y specify the coordinates of a point used to position
  1531.      the text on the display (see the options below for more information on
  1532.      how text is displayed).  After the coordinates there may be any number of
  1533.      _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of the configuration options
  1534.      for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee
  1535.      widget commands to change the item's configuration.  The following
  1536.      options are supported for text items:
  1537.  
  1538.      ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s
  1539.           _A_n_c_h_o_r_P_o_s tells how to position the text relative to the positioning
  1540.           point for the text;  it may have any of the forms accepted by
  1541.           TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.  For example, if _a_n_c_h_o_r_P_o_s is cccceeeennnntttteeeerrrr then the text is
  1542.           centered on the point;  if _a_n_c_h_o_r_P_o_s is nnnn then the text will be
  1543.           drawn such that the top center point of the rectangular region
  1544.           occupied by the text will be at the positioning point.  This option
  1545.           defaults to cccceeeennnntttteeeerrrr.
  1546.  
  1547.      ----ffffiiiillllllll _c_o_l_o_r
  1548.           _C_o_l_o_r specifies a color to use for filling the text characters; it
  1549.           may have any of the forms accepted by TTTTkkkk____GGGGeeeettttCCCCoooolllloooorrrr.  If this option
  1550.           isn't specified then it defaults to bbbbllllaaaacccckkkk.
  1551.  
  1552.      ----ffffoooonnnntttt _f_o_n_t_N_a_m_e
  1553.           Specifies the font to use for the text item.  _F_o_n_t_N_a_m_e may be any
  1554.           string acceptable to TTTTkkkk____GGGGeeeettttFFFFoooonnnnttttSSSSttttrrrruuuucccctttt.  If this option isn't
  1555.           specified, it defaults to a system-dependent font.
  1556.  
  1557.      ----jjjjuuuussssttttiiiiffffyyyy _h_o_w
  1558.           Specifies how to justify the text within its bounding region.  _H_o_w
  1559.           must be one of the values lllleeeefffftttt, rrrriiiigggghhhhtttt, or cccceeeennnntttteeeerrrr.  This option will
  1560.           only matter if the text is displayed as multiple lines.  If the
  1561.           option is omitted, it defaults to lllleeeefffftttt.
  1562.  
  1563.      ----ssssttttiiiipppppppplllleeee _b_i_t_m_a_p
  1564.           Indicates that the text should be drawn in a stippled pattern rather
  1565.           than solid; _b_i_t_m_a_p specifies the stipple pattern to use, in any of
  1566.           the forms accepted by TTTTkkkk____GGGGeeeettttBBBBiiiittttmmmmaaaapppp.  If _b_i_t_m_a_p is an empty string
  1567.           (the default) then the text is drawn in a solid fashion.
  1568.  
  1569.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1570.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1571.           list of tag names, which replace any existing tags for the item.
  1572.           _T_a_g_L_i_s_t may be an empty list.
  1573.  
  1574.      ----tttteeeexxxxtttt _s_t_r_i_n_g
  1575.           _S_t_r_i_n_g specifies the characters to be displayed in the text item.
  1576.           Newline characters cause line breaks.  The characters in the item
  1577.           may also be changed with the iiiinnnnsssseeeerrrrtttt and ddddeeeelllleeeetttteeee widget commands.
  1578.  
  1579.  
  1580.  
  1581.                                                                        PPPPaaaaggggeeee 22224444
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.  
  1588. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1589.  
  1590.  
  1591.  
  1592.           This option defaults to an empty string.
  1593.  
  1594.      ----wwwwiiiiddddtttthhhh _l_i_n_e_L_e_n_g_t_h
  1595.           Specifies a maximum line length for the text, in any of the forms
  1596.           described in the COORDINATES section above.  If this option is zero
  1597.           (the default) the text is broken into lines only at newline
  1598.           characters.  However, if this option is non-zero then any line that
  1599.           would be longer than _l_i_n_e_L_e_n_g_t_h is broken just before a space
  1600.           character to make the line shorter than _l_i_n_e_L_e_n_g_t_h;  the space
  1601.           character is treated as if it were a newline character.
  1602.  
  1603.  
  1604. WWWWIIIINNNNDDDDOOOOWWWW IIIITTTTEEEEMMMMSSSS
  1605.      Items of type wwwwiiiinnnnddddoooowwww cause a particular window to be displayed at a given
  1606.      position on the canvas.  Window items are created with widget commands of
  1607.      the following form:
  1608.  
  1609.           _p_a_t_h_N_a_m_e ccccrrrreeeeaaaatttteeee wwwwiiiinnnnddddoooowwww _x _y ?_o_p_t_i_o_n _v_a_l_u_e _o_p_t_i_o_n _v_a_l_u_e ...?
  1610.  
  1611.      The arguments _x and _y specify the coordinates of a point used to position
  1612.      the window on the display (see the ----aaaannnncccchhhhoooorrrr option below for more
  1613.      information on how bitmaps are displayed).  After the coordinates there
  1614.      may be any number of _o_p_t_i_o_n-_v_a_l_u_e pairs, each of which sets one of the
  1615.      configuration options for the item.  These same _o_p_t_i_o_n-_v_a_l_u_e pairs may be
  1616.      used in iiiitttteeeemmmmccccoooonnnnffffiiiigggguuuurrrreeee widget commands to change the item's configuration.
  1617.      The following options are supported for window items:
  1618.  
  1619.      ----aaaannnncccchhhhoooorrrr _a_n_c_h_o_r_P_o_s
  1620.           _A_n_c_h_o_r_P_o_s tells how to position the window relative to the
  1621.           positioning point for the item;  it may have any of the forms
  1622.           accepted by TTTTkkkk____GGGGeeeettttAAAAnnnncccchhhhoooorrrr.  For example, if _a_n_c_h_o_r_P_o_s is cccceeeennnntttteeeerrrr then
  1623.           the window is centered on the point;  if _a_n_c_h_o_r_P_o_s is nnnn then the
  1624.           window will be drawn so that its top center point is at the
  1625.           positioning point.  This option defaults to cccceeeennnntttteeeerrrr.
  1626.  
  1627.      ----hhhheeeeiiiigggghhhhtttt _p_i_x_e_l_s
  1628.           Specifies the height to assign to the item's window.  _P_i_x_e_l_s may
  1629.           have any of the forms described in the COORDINATES section above.
  1630.           If this option isn't specified, or if it is specified as an empty
  1631.           string, then the window is given whatever height it requests
  1632.           internally.
  1633.  
  1634.      ----ttttaaaaggggssss _t_a_g_L_i_s_t
  1635.           Specifies a set of tags to apply to the item.  _T_a_g_L_i_s_t consists of a
  1636.           list of tag names, which replace any existing tags for the item.
  1637.           _T_a_g_L_i_s_t may be an empty list.
  1638.  
  1639.      ----wwwwiiiiddddtttthhhh _p_i_x_e_l_s
  1640.           Specifies the width to assign to the item's window.  _P_i_x_e_l_s may have
  1641.           any of the forms described in the COORDINATES section above.  If
  1642.           this option isn't specified, or if it is specified as an empty
  1643.           string, then the window is given whatever width it requests
  1644.  
  1645.  
  1646.  
  1647.                                                                        PPPPaaaaggggeeee 22225555
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.  
  1654. ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))                                                        ccccaaaannnnvvvvaaaassss((((3333TTTTkkkk))))
  1655.  
  1656.  
  1657.  
  1658.           internally.
  1659.  
  1660.      ----wwwwiiiinnnnddddoooowwww _p_a_t_h_N_a_m_e
  1661.           Specifies the window to associate with this item.  The window
  1662.           specified by _p_a_t_h_N_a_m_e must either be a child of the canvas widget or
  1663.           a child of some ancestor of the canvas widget.  _P_a_t_h_N_a_m_e may not
  1664.           refer to a top-level window.
  1665.  
  1666.  
  1667. AAAAPPPPPPPPLLLLIIIICCCCAAAATTTTIIIIOOOONNNN----DDDDEEEEFFFFIIIINNNNEEEEDDDD IIIITTTTEEEEMMMM TTTTYYYYPPPPEEEESSSS
  1668.      It is possible for individual applications to define new item types for
  1669.      canvas widgets using C code.  See the documentation for                  |
  1670.      TTTTkkkk____CCCCrrrreeeeaaaatttteeeeIIIItttteeeemmmmTTTTyyyyppppeeee.
  1671.  
  1672.  
  1673. BBBBIIIINNNNDDDDIIIINNNNGGGGSSSS
  1674.      In the current implementation, new canvases are not given any default
  1675.      behavior:  you'll have to execute explicit Tcl commands to give the
  1676.      canvas its behavior.
  1677.  
  1678.  
  1679. CCCCRRRREEEEDDDDIIIITTTTSSSS
  1680.      Tk's canvas widget is a blatant ripoff of ideas from Joel Bartlett's _e_z_d
  1681.      program.  _E_z_d provides structured graphics in a Scheme environment and
  1682.      preceded canvases by a year or two.  Its simple mechanisms for placing
  1683.      and animating graphical objects inspired the functions of canvases.
  1684.  
  1685.  
  1686. KKKKEEEEYYYYWWWWOOOORRRRDDDDSSSS
  1687.      canvas, widget
  1688.  
  1689.  
  1690.  
  1691.  
  1692.  
  1693.  
  1694.  
  1695.  
  1696.  
  1697.  
  1698.  
  1699.  
  1700.  
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.                                                                        PPPPaaaaggggeeee 22226666
  1714.  
  1715.  
  1716.  
  1717.